/*******************************************************************************
* Имя файла: calcFibonacci.cpp
* Дата: 31-03-2024
* Разработчик: Андрей Подлегаев
* Группа: 315
* Факультет: ЦДО ТУСУР
* Лицензия: BSD
* Описание: Решение задач к лабораторной работе №4 (ЦДО ТУСУР)
* *****************************************************************************/

#include "calcFibonacci.h"

/* Функция вычисления числа Фибоначчи с помощью итераций */
int calcFibonacci(const int xNumber)
{
  int a{1};
  int b{0};
  int i{};

  if (xNumber == 0) {
      return a;
    }
  if (xNumber < 0) {
      while (i < abs(xNumber)) {
          a += b;
          b = a - b;
          ++i;
        }
      return b * pow(-1, (abs(xNumber) + 1));
    }
  while (i < xNumber) {
      a += b;
      b = a - b;
      ++i;
    }
  return b;
}




